using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;

// 玩家管理器类，继承自MonoBehaviour，实现ISaveManager接口
public class PlayerManager : MonoBehaviour, ISaveManager
{
    // 单例模式，全局通过PlayerManager.instance访问
    public static PlayerManager instance;
    // 获取玩家实例
    public Player player;

    // 货币
    public int currency;

    // Awake方法，在对象创建时调用
    private void Awake()
    {
        if (instance != null)
        {
            // 如果实例已存在，摧毁当前对象
            Destroy(instance.gameObject);
        }
        else
        {
            // 否则，将当前对象设置为实例
            instance = this;
        }
    }

    // 检查是否有足够的钱
    public bool HaveEnoughMoney(int _price)
    {
        if (_price > currency)
        {
            return false;
        }
        else
        {
            currency -= _price;
            return true;
        }
    }

    // 获取当前货币数量
    public int GetCurrency() => currency;

    // 加载数据方法
    public void LoadData(GameData _data)
    {
        this.currency = _data.currency;
    }

    // 保存数据方法
    public void SaveData(ref GameData _data)
    {
        _data.currency = this.currency;
    }
}